<?php

namespace app\cms\model;

use think\admin\Model;

class StockSlices extends Model
{

  // 新增重量计算逻辑
  protected function _before_write(&$data)
  {
    // 自动计算总重量
    $data['total_weight'] = $this->calculateTotalWeight(
      $data['box_num'] ?? 0,
      $data['bulk_weight'] ?? 0
    );
  }

  // 计算总重量方法
  public function calculateTotalWeight($pieces, $bulkWeight)
  {
    return bcmul($pieces, 420, 2) + bcadd($bulkWeight, 0, 2);
  }

  // 格式化显示重量
  public function getTotalWeightAttr($value)
  {
    return number_format($value, 2) . ' 斤';
  }

  // 新增编辑器处理（在原有模型基础上添加）
  public function setPiecesAttr($value)
  {
    return max(0, intval($value));
  }

  public function setBulkWeightAttr($value)
  {
    return max(0, floatval($value));
  }
 
}